package net.feixiang.creational.factoryMethod.contrary;

/**
 * 非工厂方法模式
 *
 * @see <a href="https://www.feixiang.net/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E7%AC%AC%E4%B8%80%E7%AB%A0%E3%80%81%E5%88%9B%E5%BB%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F/12.html">工厂方法模式</a>
 * @author 飞翔
 */
public class NonFactoryMethod {
    public static void log(String type, String message) {
        // 后续如有增加类型，这里的代码需修改才能扩展，违反开闭原则，耦合度也高
        if ("console".equals(type)) {
            // 控制台日志记录逻辑
            System.out.println("控制台日志: " + message);
        }else if ("database".equals(type)) {
            // 数据库日志记录逻辑
            System.out.println("数据库日志: " + message);
        } else if ("file".equals(type)) {
            // 文件日志记录逻辑
            System.out.println("文件日志: " + message);
        }  else {
            throw new IllegalArgumentException("无效日志类型: " + type);
        }
    }
}
